package model

import (
	"context"
	"service/ctrl"
	"service/model/mod"

	gpb "gitee.com/cloudapex/protos/hr/pb"

	"google.golang.org/grpc"
)

var PostFrame postFrame

func init() {
	ctrl.GCon.RegistClienter(mod.GCONN_HR, func(c *grpc.ClientConn) { PostFrame.cli = gpb.NewPostFrameClient(c) })
}

type postFrame struct {
	cli gpb.PostFrameClient
}

// postFrame.AddPostFrame 添加岗位
func (this *postFrame) AddPostFrame(ctx context.Context, in *gpb.PostFraReq) (*gpb.PostFraRes, error) {
	return this.cli.AddPostFrame(ctx, in)
}

// postFrame.DelPostFrame 删除岗位
func (this *postFrame) DelPostFrame(ctx context.Context, in *gpb.PostFraReq) (*gpb.PostFraRes, error) {
	return this.cli.DelPostFrame(ctx, in)
}

// postFrame.GetPostFraList 获取父类下子类   Id (当前架构Id必传项 0代表获取第一级下所有子架构)
func (this *postFrame) GetPostFraList(ctx context.Context, in *gpb.PostFraReq) (*gpb.GetPosFrasRes, error) {
	return this.cli.GetPostFraList(ctx, in)
}

// postFrame.GetPostFrame 删除岗位
func (this *postFrame) GetPostFrame(ctx context.Context, in *gpb.PostFraReq) (*gpb.PostFraRes, error) {
	return this.cli.GetPostFrame(ctx, in)
}

// postFrame.EditPostFrame 修改当前岗位架构信息
func (this *postFrame) EditPostFrame(ctx context.Context, in *gpb.PostFraReq) (*gpb.PostFraRes, error) {
	return this.cli.EditPostFrame(ctx, in)
}

// postFrame.OrderPostFrame 上移下移操作
func (this *postFrame) OrderPostFrame(ctx context.Context, in *gpb.SwitchPostFrameReq) (*gpb.PostFraRes, error) {
	return this.cli.OrderPostFrame(ctx, in)
}
